package cn.virens.dd;

public interface StrategyManage {

	/** 根据策略获取条件 */
	StrategyValue getValue(Strategy strategy);

	/** 根据策略获取条件 */
	StrategyValue getValue(Class<? extends Strategy> class1);

	/** 添加策略条件 */
	boolean putValue(Class<? extends Strategy> clazz, StrategyValue value);

	/** 添加策略 */
	boolean putStrategy(String uid, Strategy strategy);

	/** 将任务添加到指定策略中 */
	boolean putTask(String strategyUid, String uid, StrategyTask task);

	/** 执行策略检查 */
	void executeStrategyStack();

}
